//定义日志消息类，进行日志中间信息的存储
//1. 时间 等级 文件名称 行号 线程id 日志主体消息 日志器名称
#ifndef _M_MEG_H__
#define _M_MEG_H__
#include "level.hpp"
#include "util.hpp"
#include<iostream>
#include<string>
#include<thread>
namespace yhlog
{
    struct LogMsg{
        time_t _ctime;//日志产生的时间戳
        LogLevel::value _level;//日志等级
        size_t _line;//行号
        std::thread::id _tid;//线程id
        const std::string _file;//源码文件名
        const std::string _logger;//日志器名称
        std::string _payload;//有效消息数据
        LogMsg(LogLevel::value level,
            size_t line,
            const std::string file,
            const std::string logger,
            const std::string msg
        ):_ctime(util::Date::now()),
            _level(level),
            _line(line),
            _tid(std::this_thread::get_id()),
            _file(file),
            _logger(logger),
            _payload(msg)
        {
        }
    };
}

#endif